#include<iostream>
using namespace std;
#include<list>
#include<vector>
#include<stdlib.h>
#include "Stack.h"
#include "Queue.h"
#include<deque>
//void test_op()
//{
//	srand(time(0));
//	const int N = 100000;
//	vector<int> v1;
//	vector<int> v2;
//	v1.reserve(N);
//	v2.reserve(N);
//	deque<int> dq1;
//	deque<int> dq2;
//	for (auto& e : dq1)
//	{
//		auto e = rand();
//	}
//}
//int main()
//{
//	bai::stack_test();
//	bai::test_queue();
//
//	return 0;
//}

class Solution {
public:
    int longestOnes(vector<int>& nums, int k) {
        int left = 0, right = 0, count = 0;
        int n = nums.size();
        int len = 0;
        while (right < n)
        {
            if (nums[right] == 0)
            {
                count++;
            }


            while (count > k)
            {
                if (nums[left] == 0)
                {
                    count--;
                }
                left++;
            }
            len = max(len, right - left + 1);
            right++;
        }
        if (k >= n - 1)
        {
            return n;
        }
        return len;
    }
};
int main()
{
    vector<int> a = { 1,1,1,0,0,0,1,1,1,1,0 };
    Solution s;
    int b=s.longestOnes(a,2);
    cout << b << endl;
    return 0;
}